// Copyright (c) Microsoft Corporation. All rights reserved.
//
// Licensed under the MIT License. See LICENSE.txt in the project root for license information.

#pragma once

class MockShape : public RuntimeClass<IShape, IUIElement>
{
public:
    // IShape

    MOCK_METHOD1(get_Fill               , HRESULT(ABI::Microsoft::UI::Xaml::Media::IBrush **));
    MOCK_METHOD1(put_Fill               , HRESULT(ABI::Microsoft::UI::Xaml::Media::IBrush *));
    MOCK_METHOD1(get_GeometryTransform  , HRESULT(ABI::Microsoft::UI::Xaml::Media::ITransform**));
    MOCK_METHOD1(get_Stroke             , HRESULT(ABI::Microsoft::UI::Xaml::Media::IBrush **));
    MOCK_METHOD1(put_Stroke             , HRESULT(ABI::Microsoft::UI::Xaml::Media::IBrush *));
    MOCK_METHOD1(get_StrokeMiterLimit   , HRESULT(double *));
    MOCK_METHOD1(put_StrokeMiterLimit   , HRESULT(double));
    MOCK_METHOD1(get_StrokeThickness    , HRESULT(double *));
    MOCK_METHOD1(put_StrokeThickness    , HRESULT(double));
    MOCK_METHOD1(get_StrokeStartLineCap , HRESULT(ABI::Microsoft::UI::Xaml::Media::PenLineCap *));
    MOCK_METHOD1(put_StrokeStartLineCap , HRESULT(ABI::Microsoft::UI::Xaml::Media::PenLineCap));
    MOCK_METHOD1(get_StrokeEndLineCap   , HRESULT(ABI::Microsoft::UI::Xaml::Media::PenLineCap *));
    MOCK_METHOD1(put_StrokeEndLineCap   , HRESULT(ABI::Microsoft::UI::Xaml::Media::PenLineCap));
    MOCK_METHOD1(get_StrokeLineJoin     , HRESULT(ABI::Microsoft::UI::Xaml::Media::PenLineJoin *));
    MOCK_METHOD1(put_StrokeLineJoin     , HRESULT(ABI::Microsoft::UI::Xaml::Media::PenLineJoin));
    MOCK_METHOD1(get_StrokeDashOffset   , HRESULT(double *));
    MOCK_METHOD1(put_StrokeDashOffset   , HRESULT(double));
    MOCK_METHOD1(get_StrokeDashCap      , HRESULT(ABI::Microsoft::UI::Xaml::Media::PenLineCap *));
    MOCK_METHOD1(put_StrokeDashCap      , HRESULT(ABI::Microsoft::UI::Xaml::Media::PenLineCap));
    MOCK_METHOD1(get_StrokeDashArray    , HRESULT(ABI::Windows::Foundation::Collections::__FIVector_1_double_t **));
    MOCK_METHOD1(put_StrokeDashArray    , HRESULT(ABI::Windows::Foundation::Collections::__FIVector_1_double_t *));
    MOCK_METHOD1(get_Stretch            , HRESULT(ABI::Microsoft::UI::Xaml::Media::Stretch *));
    MOCK_METHOD1(put_Stretch            , HRESULT(ABI::Microsoft::UI::Xaml::Media::Stretch));
    MOCK_METHOD1(GetAlphaMask           , HRESULT(ABI::Microsoft::UI::Composition::ICompositionBrush**));

    // IUIElement

    MOCK_METHOD1(get_DesiredSize                    , HRESULT(ABI::Windows::Foundation::Size *));
    MOCK_METHOD1(get_AllowDrop                      , HRESULT(boolean *));
    MOCK_METHOD1(put_AllowDrop                      , HRESULT(boolean));
    MOCK_METHOD1(get_Opacity                        , HRESULT(double *));
    MOCK_METHOD1(put_Opacity                        , HRESULT(double));
    MOCK_METHOD1(get_Clip                           , HRESULT(ABI::Microsoft::UI::Xaml::Media::IRectangleGeometry **));
    MOCK_METHOD1(put_Clip                           , HRESULT(ABI::Microsoft::UI::Xaml::Media::IRectangleGeometry *));
    MOCK_METHOD1(get_RenderTransform                , HRESULT(ABI::Microsoft::UI::Xaml::Media::ITransform **));
    MOCK_METHOD1(put_RenderTransform                , HRESULT(ABI::Microsoft::UI::Xaml::Media::ITransform *));
    MOCK_METHOD1(get_Projection                     , HRESULT(ABI::Microsoft::UI::Xaml::Media::IProjection **));
    MOCK_METHOD1(put_Projection                     , HRESULT(ABI::Microsoft::UI::Xaml::Media::IProjection *));
    MOCK_METHOD1(get_RenderTransformOrigin          , HRESULT(ABI::Windows::Foundation::Point *));
    MOCK_METHOD1(put_RenderTransformOrigin          , HRESULT(ABI::Windows::Foundation::Point));
    MOCK_METHOD1(get_IsHitTestVisible               , HRESULT(boolean *));
    MOCK_METHOD1(put_IsHitTestVisible               , HRESULT(boolean));
    MOCK_METHOD1(get_Visibility                     , HRESULT(ABI::Microsoft::UI::Xaml::Visibility *));
    MOCK_METHOD1(put_Visibility                     , HRESULT(ABI::Microsoft::UI::Xaml::Visibility));
    MOCK_METHOD1(get_RenderSize                     , HRESULT(ABI::Windows::Foundation::Size *));
    MOCK_METHOD1(get_UseLayoutRounding              , HRESULT(boolean *));
    MOCK_METHOD1(put_UseLayoutRounding              , HRESULT(boolean));
    MOCK_METHOD1(get_Transitions                    , HRESULT(ABI::Windows::Foundation::Collections::__FIVector_1_Microsoft__CUI__CXaml__CMedia__CAnimation__CTransition_t**));
    MOCK_METHOD1(put_Transitions                    , HRESULT(ABI::Windows::Foundation::Collections::__FIVector_1_Microsoft__CUI__CXaml__CMedia__CAnimation__CTransition_t*));
    MOCK_METHOD1(get_CacheMode                      , HRESULT(ABI::Microsoft::UI::Xaml::Media::ICacheMode **));
    MOCK_METHOD1(put_CacheMode                      , HRESULT(ABI::Microsoft::UI::Xaml::Media::ICacheMode *));
    MOCK_METHOD1(get_IsTapEnabled                   , HRESULT(boolean *));
    MOCK_METHOD1(put_IsTapEnabled                   , HRESULT(boolean));
    MOCK_METHOD1(get_IsDoubleTapEnabled             , HRESULT(boolean *));
    MOCK_METHOD1(put_IsDoubleTapEnabled             , HRESULT(boolean));
    MOCK_METHOD1(get_IsRightTapEnabled              , HRESULT(boolean *));
    MOCK_METHOD1(put_IsRightTapEnabled              , HRESULT(boolean));
    MOCK_METHOD1(get_IsHoldingEnabled               , HRESULT(boolean *));
    MOCK_METHOD1(put_IsHoldingEnabled               , HRESULT(boolean));
    MOCK_METHOD1(get_ManipulationMode               , HRESULT(ABI::Microsoft::UI::Xaml::Input::ManipulationModes *));
    MOCK_METHOD1(put_ManipulationMode               , HRESULT(ABI::Microsoft::UI::Xaml::Input::ManipulationModes));
    MOCK_METHOD1(get_Transform3D                    , HRESULT(ABI::Microsoft::UI::Xaml::Media::Media3D::ITransform3D**));
    MOCK_METHOD1(put_Transform3D                    , HRESULT(ABI::Microsoft::UI::Xaml::Media::Media3D::ITransform3D*));
    MOCK_METHOD1(get_CanDrag                        , HRESULT(boolean*));
    MOCK_METHOD1(put_CanDrag                        , HRESULT(boolean));
    MOCK_METHOD1(get_PointerCaptures                , HRESULT(ABI::Windows::Foundation::Collections::__FIVectorView_1_Microsoft__CUI__CXaml__CInput__CPointer_t**));
    MOCK_METHOD1(get_ContextFlyout                  , HRESULT(ABI::Microsoft::UI::Xaml::Controls::Primitives::IFlyoutBase**));
    MOCK_METHOD1(put_ContextFlyout                  , HRESULT(ABI::Microsoft::UI::Xaml::Controls::Primitives::IFlyoutBase*));
    MOCK_METHOD1(get_CompositeMode                  , HRESULT(ABI::Microsoft::UI::Xaml::Media::ElementCompositeMode*));
    MOCK_METHOD1(put_CompositeMode                  , HRESULT(ABI::Microsoft::UI::Xaml::Media::ElementCompositeMode));
    MOCK_METHOD1(get_Lights                         , HRESULT(ABI::Windows::Foundation::Collections::__FIVector_1_Microsoft__CUI__CXaml__CMedia__CXamlLight_t**));
    MOCK_METHOD1(get_CanBeScrollAnchor              , HRESULT(boolean*));
    MOCK_METHOD1(put_CanBeScrollAnchor              , HRESULT(boolean));
    MOCK_METHOD1(get_ExitDisplayModeOnAccessKeyInvoked  , HRESULT(boolean*));
    MOCK_METHOD1(put_ExitDisplayModeOnAccessKeyInvoked  , HRESULT(boolean));
    MOCK_METHOD1(get_IsAccessKeyScope               , HRESULT(boolean*));
    MOCK_METHOD1(put_IsAccessKeyScope               , HRESULT(boolean));
    MOCK_METHOD1(get_AccessKeyScopeOwner            , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject**));
    MOCK_METHOD1(put_AccessKeyScopeOwner            , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject*));
    MOCK_METHOD1(get_AccessKey                      , HRESULT(HSTRING*));
    MOCK_METHOD1(put_AccessKey                      , HRESULT(HSTRING));
    MOCK_METHOD1(get_KeyTipPlacementMode            , HRESULT(ABI::Microsoft::UI::Xaml::Input::KeyTipPlacementMode*));
    MOCK_METHOD1(put_KeyTipPlacementMode            , HRESULT(ABI::Microsoft::UI::Xaml::Input::KeyTipPlacementMode));
    MOCK_METHOD1(get_KeyTipHorizontalOffset         , HRESULT(DOUBLE*));
    MOCK_METHOD1(put_KeyTipHorizontalOffset         , HRESULT(DOUBLE));
    MOCK_METHOD1(get_KeyTipVerticalOffset           , HRESULT(DOUBLE*));
    MOCK_METHOD1(put_KeyTipVerticalOffset           , HRESULT(DOUBLE));
    MOCK_METHOD1(get_KeyTipTarget                   , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject**));
    MOCK_METHOD1(put_KeyTipTarget                   , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject*));
    MOCK_METHOD1(get_XYFocusKeyboardNavigation      , HRESULT(ABI::Microsoft::UI::Xaml::Input::XYFocusKeyboardNavigationMode*));
    MOCK_METHOD1(put_XYFocusKeyboardNavigation      , HRESULT(ABI::Microsoft::UI::Xaml::Input::XYFocusKeyboardNavigationMode));
    MOCK_METHOD1(get_XYFocusUpNavigationStrategy    , HRESULT(ABI::Microsoft::UI::Xaml::Input::XYFocusNavigationStrategy*));
    MOCK_METHOD1(put_XYFocusUpNavigationStrategy    , HRESULT(ABI::Microsoft::UI::Xaml::Input::XYFocusNavigationStrategy));
    MOCK_METHOD1(get_XYFocusDownNavigationStrategy  , HRESULT(ABI::Microsoft::UI::Xaml::Input::XYFocusNavigationStrategy*));
    MOCK_METHOD1(put_XYFocusDownNavigationStrategy  , HRESULT(ABI::Microsoft::UI::Xaml::Input::XYFocusNavigationStrategy));
    MOCK_METHOD1(get_XYFocusLeftNavigationStrategy  , HRESULT(ABI::Microsoft::UI::Xaml::Input::XYFocusNavigationStrategy*));
    MOCK_METHOD1(put_XYFocusLeftNavigationStrategy  , HRESULT(ABI::Microsoft::UI::Xaml::Input::XYFocusNavigationStrategy));
    MOCK_METHOD1(get_XYFocusRightNavigationStrategy , HRESULT(ABI::Microsoft::UI::Xaml::Input::XYFocusNavigationStrategy*));
    MOCK_METHOD1(put_XYFocusRightNavigationStrategy , HRESULT(ABI::Microsoft::UI::Xaml::Input::XYFocusNavigationStrategy));
    MOCK_METHOD1(get_KeyboardAccelerators           , HRESULT(ABI::Windows::Foundation::Collections::__FIVector_1_Microsoft__CUI__CXaml__CInput__CKeyboardAccelerator_t**));
    MOCK_METHOD1(get_KeyboardAcceleratorPlacementTarget , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject**));
    MOCK_METHOD1(put_KeyboardAcceleratorPlacementTarget , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject*));
    MOCK_METHOD1(get_KeyboardAcceleratorPlacementMode   , HRESULT(ABI::Microsoft::UI::Xaml::Input::KeyboardAcceleratorPlacementMode*));
    MOCK_METHOD1(put_KeyboardAcceleratorPlacementMode   , HRESULT(ABI::Microsoft::UI::Xaml::Input::KeyboardAcceleratorPlacementMode));
    MOCK_METHOD1(get_HighContrastAdjustment         , HRESULT(ABI::Microsoft::UI::Xaml::ElementHighContrastAdjustment*));
    MOCK_METHOD1(put_HighContrastAdjustment         , HRESULT(ABI::Microsoft::UI::Xaml::ElementHighContrastAdjustment));
    MOCK_METHOD1(get_TabFocusNavigation             , HRESULT(ABI::Microsoft::UI::Xaml::Input::KeyboardNavigationMode*));
    MOCK_METHOD1(put_TabFocusNavigation             , HRESULT(ABI::Microsoft::UI::Xaml::Input::KeyboardNavigationMode));
    MOCK_METHOD1(get_OpacityTransition              , HRESULT(ABI::Microsoft::UI::Xaml::IScalarTransition**));
    MOCK_METHOD1(put_OpacityTransition              , HRESULT(ABI::Microsoft::UI::Xaml::IScalarTransition*));
    MOCK_METHOD1(get_Translation                    , HRESULT(ABI::Windows::Foundation::Numerics::Vector3*));
    MOCK_METHOD1(put_Translation                    , HRESULT(ABI::Windows::Foundation::Numerics::Vector3));
    MOCK_METHOD1(get_TranslationTransition          , HRESULT(ABI::Microsoft::UI::Xaml::IVector3Transition**));
    MOCK_METHOD1(put_TranslationTransition          , HRESULT(ABI::Microsoft::UI::Xaml::IVector3Transition*));
    MOCK_METHOD1(get_Rotation                       , HRESULT(FLOAT*));
    MOCK_METHOD1(put_Rotation                       , HRESULT(FLOAT));
    MOCK_METHOD1(get_RotationTransition             , HRESULT(ABI::Microsoft::UI::Xaml::IScalarTransition**));
    MOCK_METHOD1(put_RotationTransition             , HRESULT(ABI::Microsoft::UI::Xaml::IScalarTransition*));
    MOCK_METHOD1(get_Scale                          , HRESULT(ABI::Windows::Foundation::Numerics::Vector3*));
    MOCK_METHOD1(put_Scale                          , HRESULT(ABI::Windows::Foundation::Numerics::Vector3));
    MOCK_METHOD1(get_ScaleTransition                , HRESULT(ABI::Microsoft::UI::Xaml::IVector3Transition**));
    MOCK_METHOD1(put_ScaleTransition                , HRESULT(ABI::Microsoft::UI::Xaml::IVector3Transition*));
    MOCK_METHOD1(get_TransformMatrix                , HRESULT(ABI::Windows::Foundation::Numerics::Matrix4x4*));
    MOCK_METHOD1(put_TransformMatrix                , HRESULT(ABI::Windows::Foundation::Numerics::Matrix4x4));
    MOCK_METHOD1(get_CenterPoint                    , HRESULT(ABI::Windows::Foundation::Numerics::Vector3*));
    MOCK_METHOD1(put_CenterPoint                    , HRESULT(ABI::Windows::Foundation::Numerics::Vector3));
    MOCK_METHOD1(get_RotationAxis                   , HRESULT(ABI::Windows::Foundation::Numerics::Vector3*));
    MOCK_METHOD1(put_RotationAxis                   , HRESULT(ABI::Windows::Foundation::Numerics::Vector3));
    MOCK_METHOD1(get_ActualOffset                   , HRESULT(ABI::Windows::Foundation::Numerics::Vector3*));
    MOCK_METHOD1(get_ActualSize                     , HRESULT(ABI::Windows::Foundation::Numerics::Vector2*));
    MOCK_METHOD1(get_XamlRoot                       , HRESULT(ABI::Microsoft::UI::Xaml::IXamlRoot**));
    MOCK_METHOD1(put_XamlRoot                       , HRESULT(ABI::Microsoft::UI::Xaml::IXamlRoot*));
    MOCK_METHOD1(get_Shadow                         , HRESULT(ABI::Microsoft::UI::Xaml::Media::IShadow**));
    MOCK_METHOD1(put_Shadow                         , HRESULT(ABI::Microsoft::UI::Xaml::Media::IShadow*));
    MOCK_METHOD1(get_RasterizationScale             , HRESULT(DOUBLE*));
    MOCK_METHOD1(put_RasterizationScale             , HRESULT(DOUBLE));
    MOCK_METHOD1(get_FocusState                     , HRESULT(ABI::Microsoft::UI::Xaml::FocusState*));
    MOCK_METHOD1(get_UseSystemFocusVisuals          , HRESULT(boolean*));
    MOCK_METHOD1(put_UseSystemFocusVisuals          , HRESULT(boolean));
    MOCK_METHOD1(get_XYFocusLeft                    , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject**));
    MOCK_METHOD1(put_XYFocusLeft                    , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject*));
    MOCK_METHOD1(get_XYFocusRight                   , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject**));
    MOCK_METHOD1(put_XYFocusRight                   , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject*));
    MOCK_METHOD1(get_XYFocusUp                      , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject**));
    MOCK_METHOD1(put_XYFocusUp                      , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject*));
    MOCK_METHOD1(get_XYFocusDown                    , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject**));
    MOCK_METHOD1(put_XYFocusDown                    , HRESULT(ABI::Microsoft::UI::Xaml::IDependencyObject*));
    MOCK_METHOD1(get_IsTabStop                      , HRESULT(boolean*));
    MOCK_METHOD1(put_IsTabStop                      , HRESULT(boolean));
    MOCK_METHOD1(get_TabIndex                       , HRESULT(INT32*));
    MOCK_METHOD1(put_TabIndex                       , HRESULT(INT32));
    MOCK_METHOD2(add_KeyUp                          , HRESULT(ABI::Microsoft::UI::Xaml::Input::IKeyEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_KeyUp                       , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_KeyDown                        , HRESULT(ABI::Microsoft::UI::Xaml::Input::IKeyEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_KeyDown                     , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_GotFocus                       , HRESULT(ABI::Microsoft::UI::Xaml::IRoutedEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_GotFocus                    , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_LostFocus                      , HRESULT(ABI::Microsoft::UI::Xaml::IRoutedEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_LostFocus                   , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_DragEnter                      , HRESULT(ABI::Microsoft::UI::Xaml::IDragEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_DragEnter                   , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_DragLeave                      , HRESULT(ABI::Microsoft::UI::Xaml::IDragEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_DragLeave                   , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_DragOver                       , HRESULT(ABI::Microsoft::UI::Xaml::IDragEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_DragOver                    , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_Drop                           , HRESULT(ABI::Microsoft::UI::Xaml::IDragEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_Drop                        , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_PointerPressed                 , HRESULT(ABI::Microsoft::UI::Xaml::Input::IPointerEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_PointerPressed              , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_PointerMoved                   , HRESULT(ABI::Microsoft::UI::Xaml::Input::IPointerEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_PointerMoved                , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_PointerReleased                , HRESULT(ABI::Microsoft::UI::Xaml::Input::IPointerEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_PointerReleased             , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_PointerEntered                 , HRESULT(ABI::Microsoft::UI::Xaml::Input::IPointerEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_PointerEntered              , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_PointerExited                  , HRESULT(ABI::Microsoft::UI::Xaml::Input::IPointerEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_PointerExited               , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_PointerCaptureLost             , HRESULT(ABI::Microsoft::UI::Xaml::Input::IPointerEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_PointerCaptureLost          , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_PointerCanceled                , HRESULT(ABI::Microsoft::UI::Xaml::Input::IPointerEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_PointerCanceled             , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_PointerWheelChanged            , HRESULT(ABI::Microsoft::UI::Xaml::Input::IPointerEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_PointerWheelChanged         , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_Tapped                         , HRESULT(ABI::Microsoft::UI::Xaml::Input::ITappedEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_Tapped                      , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_DoubleTapped                   , HRESULT(ABI::Microsoft::UI::Xaml::Input::IDoubleTappedEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_DoubleTapped                , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_Holding                        , HRESULT(ABI::Microsoft::UI::Xaml::Input::IHoldingEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_Holding                     , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_RightTapped                    , HRESULT(ABI::Microsoft::UI::Xaml::Input::IRightTappedEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_RightTapped                 , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_ManipulationStarting           , HRESULT(ABI::Microsoft::UI::Xaml::Input::IManipulationStartingEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_ManipulationStarting        , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_ManipulationInertiaStarting    , HRESULT(ABI::Microsoft::UI::Xaml::Input::IManipulationInertiaStartingEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_ManipulationInertiaStarting , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_ManipulationStarted            , HRESULT(ABI::Microsoft::UI::Xaml::Input::IManipulationStartedEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_ManipulationStarted         , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_ManipulationDelta              , HRESULT(ABI::Microsoft::UI::Xaml::Input::IManipulationDeltaEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_ManipulationDelta           , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_ManipulationCompleted          , HRESULT(ABI::Microsoft::UI::Xaml::Input::IManipulationCompletedEventHandler *,EventRegistrationToken *));
    MOCK_METHOD1(remove_ManipulationCompleted       , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_DragStarting                   , HRESULT(ABI::Windows::Foundation::__FITypedEventHandler_2_Microsoft__CUI__CXaml__CUIElement_Microsoft__CUI__CXaml__CDragStartingEventArgs_t*, EventRegistrationToken*));
    MOCK_METHOD1(remove_DragStarting                , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_DropCompleted                  , HRESULT(ABI::Windows::Foundation::__FITypedEventHandler_2_Microsoft__CUI__CXaml__CUIElement_Microsoft__CUI__CXaml__CDropCompletedEventArgs_t*, EventRegistrationToken*));
    MOCK_METHOD1(remove_DropCompleted               , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_CharacterReceived              , HRESULT(ABI::Windows::Foundation::__FITypedEventHandler_2_Microsoft__CUI__CXaml__CUIElement_Microsoft__CUI__CXaml__CInput__CCharacterReceivedRoutedEventArgs_t*, EventRegistrationToken*));
    MOCK_METHOD1(remove_CharacterReceived           , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_ContextRequested               , HRESULT(ABI::Windows::Foundation::__FITypedEventHandler_2_Microsoft__CUI__CXaml__CUIElement_Microsoft__CUI__CXaml__CInput__CContextRequestedEventArgs_t*, EventRegistrationToken*));
    MOCK_METHOD1(remove_ContextRequested            , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_ContextCanceled                , HRESULT(ABI::Windows::Foundation::__FITypedEventHandler_2_Microsoft__CUI__CXaml__CUIElement_Microsoft__CUI__CXaml__CRoutedEventArgs_t*, EventRegistrationToken*));
    MOCK_METHOD1(remove_ContextCanceled             , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_AccessKeyDisplayRequested      , HRESULT(ABI::Windows::Foundation::__FITypedEventHandler_2_Microsoft__CUI__CXaml__CUIElement_Microsoft__CUI__CXaml__CInput__CAccessKeyDisplayRequestedEventArgs_t*, EventRegistrationToken*));
    MOCK_METHOD1(remove_AccessKeyDisplayRequested   , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_AccessKeyDisplayDismissed      , HRESULT(ABI::Windows::Foundation::__FITypedEventHandler_2_Microsoft__CUI__CXaml__CUIElement_Microsoft__CUI__CXaml__CInput__CAccessKeyDisplayDismissedEventArgs_t*, EventRegistrationToken*));
    MOCK_METHOD1(remove_AccessKeyDisplayDismissed   , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_AccessKeyInvoked               , HRESULT(ABI::Windows::Foundation::__FITypedEventHandler_2_Microsoft__CUI__CXaml__CUIElement_Microsoft__CUI__CXaml__CInput__CAccessKeyInvokedEventArgs_t*, EventRegistrationToken*));
    MOCK_METHOD1(remove_AccessKeyInvoked            , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_ProcessKeyboardAccelerators    , HRESULT(ABI::Windows::Foundation::__FITypedEventHandler_2_Microsoft__CUI__CXaml__CUIElement_Microsoft__CUI__CXaml__CInput__CProcessKeyboardAcceleratorEventArgs_t*, EventRegistrationToken*));
    MOCK_METHOD1(remove_ProcessKeyboardAccelerators , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_GettingFocus                   , HRESULT(ABI::Windows::Foundation::__FITypedEventHandler_2_Microsoft__CUI__CXaml__CUIElement_Microsoft__CUI__CXaml__CInput__CGettingFocusEventArgs_t*, EventRegistrationToken*));
    MOCK_METHOD1(remove_GettingFocus                , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_LosingFocus                    , HRESULT(ABI::Windows::Foundation::__FITypedEventHandler_2_Microsoft__CUI__CXaml__CUIElement_Microsoft__CUI__CXaml__CInput__CLosingFocusEventArgs_t*, EventRegistrationToken*));
    MOCK_METHOD1(remove_LosingFocus                 , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_NoFocusCandidateFound          , HRESULT(ABI::Windows::Foundation::__FITypedEventHandler_2_Microsoft__CUI__CXaml__CUIElement_Microsoft__CUI__CXaml__CInput__CNoFocusCandidateFoundEventArgs_t*, EventRegistrationToken*));
    MOCK_METHOD1(remove_NoFocusCandidateFound       , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_PreviewKeyDown                 , HRESULT(ABI::Microsoft::UI::Xaml::Input::IKeyEventHandler*, EventRegistrationToken*));
    MOCK_METHOD1(remove_PreviewKeyDown              , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_PreviewKeyUp                   , HRESULT(ABI::Microsoft::UI::Xaml::Input::IKeyEventHandler*, EventRegistrationToken*));
    MOCK_METHOD1(remove_PreviewKeyUp                , HRESULT(EventRegistrationToken));
    MOCK_METHOD2(add_BringIntoViewRequested         , HRESULT(ABI::Windows::Foundation::__FITypedEventHandler_2_Microsoft__CUI__CXaml__CUIElement_Microsoft__CUI__CXaml__CBringIntoViewRequestedEventArgs_t*, EventRegistrationToken*));
    MOCK_METHOD1(remove_BringIntoViewRequested      , HRESULT(EventRegistrationToken));
    MOCK_METHOD1(Measure                            , HRESULT(ABI::Windows::Foundation::Size));
    MOCK_METHOD1(Arrange                            , HRESULT(ABI::Windows::Foundation::Rect));
    MOCK_METHOD2(CapturePointer                     , HRESULT(ABI::Microsoft::UI::Xaml::Input::IPointer *,boolean *));
    MOCK_METHOD1(ReleasePointerCapture              , HRESULT(ABI::Microsoft::UI::Xaml::Input::IPointer *));
    MOCK_METHOD0(ReleasePointerCaptures             , HRESULT());
    MOCK_METHOD3(AddHandler                         , HRESULT(ABI::Microsoft::UI::Xaml::IRoutedEvent *,IInspectable *,boolean));
    MOCK_METHOD2(RemoveHandler                      , HRESULT(ABI::Microsoft::UI::Xaml::IRoutedEvent *,IInspectable *));
    MOCK_METHOD2(TransformToVisual                  , HRESULT(ABI::Microsoft::UI::Xaml::IUIElement *,ABI::Microsoft::UI::Xaml::Media::IGeneralTransform **));
    MOCK_METHOD0(InvalidateMeasure                  , HRESULT());
    MOCK_METHOD0(InvalidateArrange                  , HRESULT());
    MOCK_METHOD0(UpdateLayout                       , HRESULT());
    MOCK_METHOD1(CancelDirectManipulations          , HRESULT(boolean*));
    MOCK_METHOD2(StartDragAsync                     , HRESULT(ABI::Microsoft::UI::Input::IPointerPoint*, ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CApplicationModel__CDataTransfer__CDataPackageOperation_t**));
    MOCK_METHOD0(StartBringIntoView                 , HRESULT());
    MOCK_METHOD1(StartBringIntoViewWithOptions      , HRESULT(ABI::Microsoft::UI::Xaml::IBringIntoViewOptions*));
    MOCK_METHOD1(TryInvokeKeyboardAccelerator       , HRESULT(ABI::Microsoft::UI::Xaml::Input::IProcessKeyboardAcceleratorEventArgs*));
    MOCK_METHOD2(Focus                              , HRESULT(ABI::Microsoft::UI::Xaml::FocusState, boolean*));
    MOCK_METHOD1(StartAnimation                     , HRESULT(ABI::Microsoft::UI::Composition::ICompositionAnimationBase*));
    MOCK_METHOD1(StopAnimation                      , HRESULT(ABI::Microsoft::UI::Composition::ICompositionAnimationBase*));

    


};
